Statement of the Technical Field
The present invention relates to the field of collaborative computing and more particularly to the creation and management of resources in an activity in a collaborative computing environment.
Description of the Related Art
Collaborative computing refers to the use by two or more end users of a computing application in order to achieve a common goal. Initially envisioned as a document sharing technology among members of a small workgroup in the corporate environment, collaborative computing has grown today to include a wide variety of technologies arranged strategically to facilitate collaboration among members of a workgroup. No longer merely restricted to document sharing, the modern collaborative environment can include document libraries, chat rooms, video conferencing, application sharing, and discussion forums to name only a few.
A collaborative computing application enjoys substantial advantages over a more conventional, individualized computing application. Specifically, at present it is rare that a goal of any importance is entrusted and reliant upon a single person. In fact, most goals and objectives can be achieved only through the participation of a multiplicity of individuals, each serving a specified role or roles in the process. Consequently, to provide computing tools designed for use only by one of the individuals in the process can be short sighted and can ignore important potential contributions lying among the other individuals involved in the process.
Personal information managers, project management systems and workflow management systems represent three such computing applications which attempt to manage a process leading to an objective, leveraging of the participation of many individuals in the process. Considering first the personal information manager (PIM), in a PIM, a single end user can establish a calendar of events and a to-do list of tasks which are to be performed by the end user. To the extent that a task is to be performed by another individual, the end user only can establish a task reminding the end user to monitor the completion of the task by the other individual. PIMs do permit the calendaring of events among different individuals, but the calendaring operation only can “invite” others to calendar the event within the personal information manager of other users.
Project management systems provide means for an individual or a group to define and track project stages with strictly-specified interdependencies. In a traditional project management system, the phases of a project can be defined from start to finish and a timeline can be generated for the project. Utilizing the timeline, it can be determined when particular phases of the project have been completed and when a subsequently scheduled phase of the project can begin. To the extent that the timing of one phase of the project changes, the remaining project phases can be adjusted to accommodate the changed timing. Similarly, if the project requires the use of limited resources, and the allocation of one such resource changes, the remaining project phases that depend on that resource can be adjusted to accommodate the reduction of that resource. A major strength of project management systems is their maintenance of these kinds of strict interdependencies. In addition, in many project management systems, particular people can be assigned to particular phases of the project.
In these ways, the execution of a project can be better managed by a project manager using the project management system's control over timing, resources, and people. Notably, in most project management systems, the interdependencies are specified by the project manager, and the other users are relegated to the subordinate tasks of confirming that components have been completed, or indicating changes in resources. Changes in interdependencies are typically executed only by the project manager.
Workflow management systems differ substantially from PIMs and project management systems. In a workflow management system, different computing processes can be linked together by an electronic specification. Moreover, in a workflow management system, it is not important whether all of the computing processes are managed by a single entity and different ones of the computing processes can be distributed about a network of diverse computing resources. In the latter circumstance, the specifying electronic document merely need reference the pertinent computing processes in a way in which the processes can be located in the value chain. Most importantly, a workflow specifies a structure of distributed processes, executed by a combination of electronic and human agents, with rigid contingencies that are enforced among these agents.
Learning management systems can be viewed as collaborative forms of the project manager. In a typical learning management system, a project species—namely a syllabus—can be defined to include one or more assignments. A class can be created from the syllabus, one or more instructors can be assigned to the class and one or more students can be enrolled in the class. Advantageously, additional collaborative tools can be provided to facilitate the execution of the course, including a chat room, document library and discussion forum, to name a few.
Notwithstanding the foregoing, individualized PIMs, project management systems, and workflow management systems, as well as collaborative learning management systems, do not account for the actual nature of a coordinated set of collaborative tasks conducted by people, such as an activity. An activity, unlike a typical project or workflow, refers to objects, actions, and persons in the real world, and provides a computerized representation of selected aspects of those objects, actions, and persons.
Creating an activity collaboratively so that the activity can support a collaborative objective effectively can be a time consuming, iterative process. Much of the activity creation process can require an a priori knowledge of the resources to be consumed in the course of completing the activity, and those collaborators tasked with the completion of different tasks in the activity. Yet, in many cases the creator of an activity knows generally that one or more resources will be required of a particular nature or type, without knowing the precise identity of those resources. Similarly, in many cases the creator of an activity knows generally that one or more collaborators will be associated with the activity without knowing the precise identity of the collaborators. Again similarly, in many cases the creator of an activity knows generally that one or more events will be associated with the activity without knowing the precise date and time of each event, and without knowing the precise nature of each event.